/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import controlador.ITiendaController;
import java.util.*;
import modelo.persistencia.ITiendaDAO;
import modelo.persistencia.TiendaDAO;
/**
 *
 * @author LEONIC
 */
public class TiendaModel implements ITiendaModel{

    private ITiendaController controller;

    public ITiendaController getController() {
        return controller;
    }

    public void setController(ITiendaController controller) {
        this.controller = controller;
    }

    public void nuevoTienda(ITienda tienda) {
        ITiendaDAO dao = obtenerImplementacionTiendaDAO();
        dao.create(tienda);
        fireModelChanged();
    }

    public void eliminarTienda(ITienda tienda) {
        ITiendaDAO dao = obtenerImplementacionTiendaDAO();
        dao.delete(tienda);
        fireModelChanged();
    }

    public ITienda obtenerTienda(int ID) {
        ITiendaDAO dao = obtenerImplementacionTiendaDAO();
        return dao.read(ID);
    }

    public void actualizarTienda(ITienda tienda) {
        ITiendaDAO dao = obtenerImplementacionTiendaDAO();
        dao.update(tienda);
        fireModelChanged();

    }

    public void AsignarTareasEnTienda(ITienda tienda) {
        ITiendaDAO dao = obtenerImplementacionTiendaDAO();
        dao.AsignarTareas(tienda);
        fireModelChanged();

    }

    public List<ITienda> obtenerTienda() {
        ITiendaDAO dao = obtenerImplementacionTiendaDAO();
        return dao.list();
    }

    private ITiendaDAO obtenerImplementacionTiendaDAO() {
        //return new ContactoDAOFile();
        return new TiendaDAO();
    }

    protected void fireModelChanged() {
        getController().fireDataModelChanged();
    }
}
